<?php

/**
 * Свойство хранимого объекта
 * 
 * @author alno
 */
class Property {
	
	var $name;
	var $value;
	var $type;
	
	/**
	 * Конструктор
	 *
	 * @param string $name имя свойства
	 * @param unknown_type $type тип свойства
	 * @return Property новый объект
	 */
	function Property( $name, $type ) {
		$this->name = $name;
		$this->type = $type;
	}
	
	/**
	 * Получить имя свойства
	 *
	 * @return String имя свойства
	 */
	function getName() {
		return $this->name;
	}
	
	/**
	 * Получить имя типа свойства
	 *
	 * @return String имя типа свойства
	 */
	function getType() {
		return $this->type;
	}
	
	/**
	 * Установить значение свойства
	 *
	 * @param unknown_type $value значение
	 * @return unknown установленное значение
	 */
	function set( $value ) {
		if ( $this->type == "string" ) {
			$this->value = $value;
		} else if ( $this->type == "int" ) {
			$this->value = (int)$value;
		} else if ( $this->type == "date" ) {
			$this->value = $value;
		}
		
		return $this->value;
	}
	
	/**
	 * Получить значение свойства
	 *
	 * @return unknown значение
	 */
	function get() {
		return $this->value;
	}
}

?>
